var prefix = "/system/list"
$(function () {
    load();
    selectMultip.register();
    init();
});

function init() {
    let arr = [ '药品', '消杀产品', '医疗器械', '保健食品', '消杀产品（卫生巾）商业公司'];
    let data = [];
    data.push({value: '',text: '请选择'});
    for (let i = 0; i < arr.length; i++) {
        let obj = {};
        obj.value = arr[i];
        obj.text = arr[i];
        data.push(obj);
    }
    selectMultip.reload('productPositionNumber', data, selectMultip.setData);
}

function load() {
    $('#exampleTable')
        .bootstrapTable(
            {
                method: 'get', // 服务器数据的请求方式 get or post
                url: prefix + "/list", // 服务器数据的加载地址
                //	showRefresh : true,
                //	showToggle : true,
                //	showColumns : true,
                iconSize: 'outline',
                toolbar: '#exampleToolbar',
                striped: true, // 设置为true会有隔行变色效果
                dataType: "json", // 服务器返回的数据类型
                pagination: true, // 设置为true会在底部显示分页条
                // queryParamsType : "limit",
                // //设置为limit则会发送符合RESTFull格式的参数
                singleSelect: false, // 设置为true将禁止多选
                // contentType : "application/x-www-form-urlencoded",
                // //发送到服务器的数据编码类型
                pageSize: 10, // 如果设置了分页，每页数据条数
                pageNumber: 1, // 如果设置了分布，首页页码
                //search : true, // 是否显示搜索框
                showColumns: false, // 是否显示内容下拉框（选择显示的列）
                sidePagination: "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
                queryParams: function (params) {
                    return {
                        //说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
                        limit: params.limit,
                        offset: params.offset,
                        freightDate: $('#freightDate').val(),
                        endDate: $('#endDate').val(),
                        isUpload: $('#isUpload').val(),
                        expressNo: $('#expressNo').val(),
                        productPositionNumber: $('#productPositionNumber').val(),
                        transType: $('#transType').val(),
                        businessType: $('#businessType').val(),
                        productName: $('#productName').val(),
                        batchNumber: $('#batchNumber').val(),
                        validDate: $('#validDate').val(),
                        importNum: $('#importNum').val(),
                        company: $('#company').val()
                    };
                },
                // //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
                // queryParamsType = 'limit' ,返回参数必须包含
                // limit, offset, search, sort, order 否则, 需要包含:
                // pageSize, pageNumber, searchText, sortName,
                // sortOrder.
                // 返回false将会终止请求
                columns: [
                    {
                        checkbox: true
                    },
                    {
                        field: 'freightTime',
                        title: '日期'
                    },
                    {
                        field: 'province',
                        title: '省份'
                    },
                    {
                        field: 'area',
                        title: '地办'
                    },
                    {
                        field: 'manager',
                        title: '经理'
                    },
                    {
                        field: 'expressNo',
                        title: '传递单号'
                    },
                    {
                        field: 'productName',
                        title: '商品名称'
                    },
                    {
                        field: 'productGuige',
                        title: '商品规格'
                    },
                    {
                        field: 'productPositionNumber',
                        title: '库位号'
                    },
                    {
                        field: 'batchNumber',
                        title: '批号'
                    },

                    {
                        field: 'validDate',
                        title: '有效期'
                    },
                    {
                        field: 'transType',
                        title: '方式'
                    },
                    {
                        field: 'imgUrls',
                        title: '质检报告',
                        align: "center",
                        formatter: function (value, row, index) {
                            if (row.imgUrls != null && row.imgUrls != '' && row.imgUrls != 'undefined') {
                                return '<button style="background-color: #18a689" href="#" onclick="checkImg(\'' + row.id + '\')"><span style="color: #FFFFFF;">查看报告</span></button>';
                            } else {
                                return '<button style="background-color: #ed5565"><span style="color: #FFFFFF;">无</span></button>';
                            }

                        },
                    },
                    {
                        field: 'printNum',
                        title: '打印次数',
                        align: "center"
                    },
                    {
                        field: 'importNum',
                        title: '导入次数',
                        align: "center"
                    },
                    {
                        title: '操作',
                        field: 'id',
                        align: 'center',
                        formatter: function (value, row, index) {
                            var e = '<a class="btn btn-primary btn-sm ' + s_edit_h + '" href="#" mce_href="#" title=查看详情 onclick="detail(\''
                                + row.id
                                + '\')"><i class="fa fa-bars"></i></a> ';
                            var d = '<a class="btn btn-warning btn-sm ' + s_remove_h + '" href="#" title="删除"  mce_href="#" onclick="remove(\''
                                + row.id
                                + '\')"><i class="fa fa-remove"></i></a> ';
                            var f = '<a class="btn btn-success btn-sm" href="#" title="备用"  mce_href="#" onclick="resetPwd(\''
                                + row.id
                                + '\')"><i class="fa fa-key"></i></a> ';
                            return e + d;
                        }
                    }]
            });
}

function reLoad() {
    $('#exampleTable').bootstrapTable('refresh');
}

function batchPrint() {
    let rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
    if (rows.length == 0) {
        layer.msg("请选择要打印的数据");
        return;
    }
    let ids = new Array();
    let imgUrl = new Array();
    // 遍历所有选择的行数据，取每条数据对应的ID
    let flag = true;
    $.each(rows, function (i, row) {
        if(row['imgUrls'] == null){
            flag = false;
        }else{
            ids[i] = row['id'];
            $.each(row['imgUrls'], function (j, row){
                imgUrl.push(row['imgUrl']);
            });
        }
    });
    if(!flag){
        layer.msg("有发货记录没有对应的质检报告！");
        return;
    }

    $.ajax({
        type: 'POST',
        data: {
            "ids": ids
        },
        url: prefix + '/updatePrintNum',
        success: function (r) {
            reLoad();
            debugger
            let curPath = window.document.location.href;
            let pathname = window.document.location.pathname;
            let pos = curPath.indexOf(pathname);
            let localhostPath = curPath.substring(0, pos );

            let LODOP=getLodop();
            // LODOP.SET_LICENSES("北京中电兴发科技有限公司","BC32B3E98EE17DECE56AD090A683CA08","北京中電興發科技有限公司","581DC03916E72807C08528A17E4F906F");
            LODOP.SET_LICENSES("陕西步长制药有限公司","301FB96D00854CD8E772F67A393C53F6AE2","陜西步長制藥有限公司","006E1D5029146C3080667668828B999FC5B");
            layer.msg("质检报告正在打印，请稍后！");
            for(let i=0;i<imgUrl.length;i++){
                LODOP.ADD_PRINT_IMAGE(0,0,"100%","100%","<img border='0' src=" + localhostPath + imgUrl[i] +  "/>");
                LODOP.SET_PRINT_STYLEA(0,"Stretch",2);//按原图比例(不变形)缩放模式
                LODOP.PRINT();
            }
            // window.open(prefix + "/print?imgUrl=" + imgUrl, '_blank');
        }
    });
}

function add() {
    layer.open({
        type: 2,
        title: '增加',
        maxmin: true,
        shadeClose: false, // 点击遮罩关闭层
        area: ['800px', '520px'],
        content: prefix + '/add' // iframe的url
    });
}

function checkImg(id) {
    let imgPage = layer.open({
        type: 2,
        title: '质检报告',
        maxmin: true,
        shadeClose: false, // 点击遮罩关闭层
        area: ['800px', '520px'],
        content: prefix + '/checkImg/' + id // iframe的url
    });
    layer.full(imgPage);
}

function edit(id) {
    layer.open({
        type: 2,
        title: '编辑',
        maxmin: true,
        shadeClose: false, // 点击遮罩关闭层
        area: ['800px', '520px'],
        content: prefix + '/edit/' + id // iframe的url
    });
}

function remove(id) {
    layer.confirm('确定要删除选中的记录？', {
        btn: ['确定', '取消']
    }, function () {
        $.ajax({
            url: prefix + "/remove",
            type: "post",
            data: {
                'id': id
            },
            success: function (r) {
                if (r.code == 0) {
                    layer.msg(r.msg);
                    reLoad();
                } else {
                    layer.msg(r.msg);
                }
            }
        });
    })
}

function resetPwd(id) {
}

function clearInfo() {
    init();
    $("#freightDate").val("");
    $("#expressNo").val("");
    $("#productName").val("");
    $("#batchNumber").val("");
    $("#productPositionNumber").val("");
    $("#transType").val("");
    $("#validDate").val("");
    $("#importNum").val("");
    $('#exampleTable').bootstrapTable('refresh');
}

//导入
layui.use('upload', function () {
    var upload = layui.upload;
    //执行实例
    var uploadInst = upload.render({
        elem: '#import', //绑定元素
        url: prefix + '/import', //上传接口
        size: 10000,
        accept: 'file',
        done: function (r) {
            if (r.code == 0) {
                layer.msg("导入完成");
                clearInfo();
                // reLoad();
            } else {
                layer.msg(r.msg);
            }
        },
    });
});

function detail(id) {
    var detailPage = layer.open({
        type: 2,
        title: '详情',
        maxmin: true,
        shadeClose: false, // 点击遮罩关闭层
        area: ['800px', '520px'],
        content: prefix + '/detail/' + id // iframe的url
    });
    layer.full(detailPage);
}

function batchRemove() {
    var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
    if (rows.length == 0) {
        layer.msg("请选择要删除的数据");
        return;
    }
    layer.confirm("确认要删除选中的'" + rows.length + "'条数据吗?", {
        btn: ['确定', '取消']
        // 按钮
    }, function () {
        var ids = new Array();
        // 遍历所有选择的行数据，取每条数据对应的ID
        $.each(rows, function (i, row) {
            ids[i] = row['id'];
        });
        $.ajax({
            type: 'POST',
            data: {
                "ids": ids
            },
            url: prefix + '/batchRemove',
            success: function (r) {
                if (r.code == 0) {
                    layer.msg(r.msg);
                    reLoad();
                } else {
                    layer.msg(r.msg);
                }
            }
        });
    }, function () {

    });
}